/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package modificar;

import apunte.Apunte;
import apunte.Carrera;
import apunte.Profesor;
import com.sun.media.ui.ComboBox;
import dataBase.Db;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.LinkedList;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;

/**
 *
 * @author martinLequerica
 */
public class modificarApunte extends JFrame{

    private String[] nombres = {"idapunte","Nombre apunte", "Tema", "Letra", "Año", "Cantidad", "Ubicacion", "Precio", "Descripcion", "tags"};
    private JTextField[] texto;
    private JButton aceptar,cancelar,modificar,modificar1;
    private ComboBox Cprofesor,Ccarrera;
    LinkedList<Profesor> llp;
    LinkedList<Carrera> llc;
    
    public modificarApunte(Apunte ap) {
        super("Modificar Apunte");
        //inicializo variables
        texto = new JTextField[10];
        aceptar = new JButton("Aceptar");
        cancelar= new JButton("Cancelar");
        modificar= new JButton("Modificar");
        modificar1= new JButton("Modificar");
        llp = new LinkedList();
        llc = new LinkedList();
        
        
        
        
        setLayout(new GridLayout(14, 2));
        
        for (int i = 0; i<texto.length;i++){
            
            texto[i]=new JTextField();
            add(new JLabel(nombres[i]));
            add(texto[i]);
        }
        
        cargarTextFields(ap);
        llp = ap.getProfesor();
        llc=ap.getCarrera();
        
        Cprofesor = new ComboBox();
        Ccarrera = new ComboBox();
        cargoComboboxProfesor(Cprofesor);
        cargoComboboxCarrera(Ccarrera);
        add(Cprofesor);
        add(modificar);
        add(Ccarrera);
        add(modificar1);
        
        
        
        listeners();
        add(aceptar);
        
        setVisible(true);
        setSize(300,300);
        
    }

    private void cargarTextFields(Apunte ap) {
        
        texto[0].setText(String.valueOf(ap.getIdapunte()));
        texto[0].setEditable(false);
        texto[1].setText(ap.getNombreApunte());
        texto[2].setText(ap.getTema());
        texto[3].setText(ap.getLetra());
        texto[4].setText(ap.getAnio());
        texto[5].setText(String.valueOf(ap.getCantidad()));
        texto[6].setText(ap.getUbicacion());
        texto[7].setText(ap.getPrecio());
        texto[8].setText(ap.getDescripcion());
        texto[9].setText(ap.getTags());
        
    }

    private void cargoComboboxProfesor(final ComboBox Cprofesor) {
        for (int i = 0 ; i<llp.size();i++){
        Cprofesor.add(llp.get(i).getNombre());
        }
        
        
        
        
    }

    private void listeners() {
        modificar.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent ae) {
                int si = Cprofesor.getSelectedIndex();
                
                new modiProfe(llp.get(si));
                
                
                
                
                
                
            }
        });
        modificar1.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent ae) {
           int si = Ccarrera.getSelectedIndex();
           new modiCarrera(llc.get(si));
                
                
            }
        });
        
        aceptar.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent ae) {
           
                Db db = new Db();
                Statement st = db.getStatement();
                try {
                    String sql ="update apunte set nombreApunte = '"+texto[1].getText()+"',tema = '"+texto[2].getText()+"',letra = '"+texto[3].getText()+"',anio = '"+texto[4].getText()+"',cantidad = '"+texto[5].getText()+"',ubicacion = '"+texto[6].getText()+"',precio = '"+texto[7].getText()+"', descripcion = '"+texto[8].getText()+"',tags = '"+texto[9].getText()+"' where idapunte = '"+texto[0].getText()+"'";
                    
                    st.execute(sql);
                    setVisible(false);
                } catch (SQLException ex) {
                    Logger.getLogger(modificarApunte.class.getName()).log(Level.SEVERE, null, ex);
                }
                
                
            }
        });
        cancelar.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent ae) {
           
                JOptionPane.showMessageDialog(null, "height: "+getHeight()+" width: "+getWidth());
            }
        });
    }

    private void cargoComboboxCarrera(ComboBox Ccarrera) {
        
        for (int i =0 ; i<llc.size();i++){
            
            Ccarrera.add(llc.get(i).getNombreCarrera());
            
        }
        
        
        
    }
}
